From: Andrew Cooper Date: Wed, 8 Jan 2020 13:11:13 +0000 (+0000) Subject: x86/boot: Simplify BSS zeroing X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~913 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=c6c63b6dbffcdf32a59efa1fd6e578437fba06ff;p=xen.git x86/boot: Simplify BSS zeroing There is no need to load a non-flat %es to zero the BSS. Use sym_esi() instead, which is easier to follow, faster (avoids two segment loads) and doesn't require use of the stack. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index 8d0ffbd1b0..c730810461 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -617,16 +617,12 @@ trampoline_setup: jnz 1f /* Initialize BSS (no nasty surprises!). */ - mov $sym_offs(__bss_start),%edi - mov $sym_offs(__bss_end),%ecx - push %fs - pop %es + lea sym_esi(__bss_start), %edi + lea sym_esi(__bss_end), %ecx sub %edi,%ecx xor %eax,%eax shr $2,%ecx rep stosl - push %ds - pop %es 1: /* Interrogate CPU extended features via CPUID. */